The disclosure relates to the field of Instant Messaging and, more particularly, to maintaining instant messaging conversations when the recipient does not have direct access to the resources of the recipient's primary workstation.
Instant messaging (IM) is a communication system that provides informal real-time communication between users of data network facilities. Typically, two or more users exchange text messages through a channel or a virtual chat room maintained on one or more IM Servers. IM may also be used for data transfer between users. Examples of IM systems include IBM® Lotus® Sametime® (IBM, Lotus and Sametime are trademarks of International Business Machines Corporation in the United States, other countries, or both), Yahoo®, Messenger, and AOL® Instant Messenger™.
Typically, IM communications follow a Client/Server model across a network. In a Client/Server model, a client computer program provides a service request to a server computer program, which fulfils the request. Both client and server programs are often part of a larger program or application. Multiple client programs may share the services of a common server program. Therefore, chat sessions may comprise more than two participants.
In contrast to the Client/Server model, a Peer-to-Peer (P2P) is a communications model in which each party has similar capabilities and either party may initiate a communications session. A first computer program communicates with a second computer program through either a wired or a wireless link. Although typical IM communications follow a Client/Server model, many IM systems also have the capability to follow a P2P model. For example, IRC allows P2P communications between two participants to exchange chat or data transfers using the Direct Client-to-Client (DDC) protocol.
An IM system may use a wired or a wireless network. Bluetooth technology is an example of wireless technology. Bluetooth is a short-range radio frequency (RF) technology with a 2.4 GHz frequency. Typical ranges are 1 m, 10 m and 100 m dependent on the available power of the Bluetooth system.
For the avoidance of doubt, the terms IM Client and IM Server, as used herein, are to be construed as the IM Client and IM Server computer programs respectively, of an IM system. An IM system, typically, comprises an IM server and a plurality of IM Clients. An IM Client is operable for use with a primary workstation.
One issue with instant messaging is that user availability may be lost if the user moves away from using their primary workstation. If the user physically moves away from their primary workstation, IM availability is lost, but may be re-established using an IM Client on another workstation at a new physical location. However, in the mean time important messages may be lost. There are a number of solutions to address the issue of maintaining IM availability. For the avoidance of doubt, as used herein, a user is ‘available’ if the user may interact with an IM Client. Direct availability means that the user may interact with an IM Client running on a workstation. Indirect availability means that the user may interact with an IM Client through, for example, a short-range remote device locatable within range of an IM Client.
One solution is provided by the use of an IM Client on a remote device. Remote devices such as mobile phones or personal digital assistants (PDAs) are just as pervasive in day to day work as standard desktop or mobile workstations. However, such devices only have a limited range to a network through short range wireless technologies such as Bluetooth or Radio Frequency Identification (RFID). Users may switch between an IM Client on a workstation to one on a remote device; however such switching is not seamless and requires re-logging into the IM system. If the user is participating in a multiple-user chat, re-logging may mean having to be re-invited to the active chat. Message exchanges made between the participants during the interruption will be lost by the user.
Another approach in using a remote device is to switch IM Client usage from a workstation to the remote device prior to changing location. However, in order to ensure that IM usage on the remote device maintains an equivalent functionality as IM usage on the workstation, either server side logging or synchronization of IM information on the remote device with the IM information on the workstation is required. These methods have disadvantages. Storing logs on a server may take up valuable server storage resources. In addition, storing private chat logs on the remote device may become a security risk if the user's personal device is stolen or resold.
One problem to address is for an IM system to establish whether the intended recipient of a message is available at an expected workstation. This is typically addressed through the use of a Presence System, that monitors computer usage (for example, through keyboard or mouse interaction), or by the user marking that they are not available. The availability status is reported back to the IM Server, which may in turn report the status to the other users of the system. Another problem to address is for the system to locate where messages intended for a recipient that is not at their primary workstation should be transmitted to.